package collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;

/**
 * java.util.Collection 集合
 * 集合与数组相似，可以保存一组元素，但是集合的数据结构丰富，并且将元素的操作封装为了
 * 方法，使用便捷。
 *
 * Collection是一个接口，定义了所有集合都应当具备的功能。
 * 其下面还有两个子接口:
 * java.util.List:可重复且有序的集合
 * java.util.Set:不可重复的集合
 * 是否重复是依靠元素自身的equals比较方法来判断的。
 */
public class CollectionDemo1 {
    public static void main(String[] args) {
        Collection c = new ArrayList();//添加重复元素时不会覆盖原有的元素
//      Collection c = new HashSet();//重复元素无法存入Set集合两次
        /*
         boolean add(E  e)
        向集合中添加一个元素，如果元素成功添加到则返回true，
        否则返回false
        * */
        boolean flag = c.add("1");
        System.out.println(flag);

       // c.add("1");
        c.add("2");
        c.add("3");
        c.add("4");
        c.add("5");
        System.out.println(c);//ArrayList():1 2 3 4 5
                              //HashSet():1 2 3 4 5

        flag =c.add("1");//重复元素无法存入Set集合两次
        System.out.println(flag);
       // c.add("1");
        System.out.println(c);//ArrayList():1 2 3 4 5 1
                              //HashSet():1 2 3 4 5 重复元素无法存入Set集合两次

        /*
        size:大小
        int size()
        获取当前集合的元素个数
        * */
        int size = c.size();
        System.out.println("size:"+size);


        /*empty:空的
        boolean isEmpty()
        判断当前集合是否为一个空集（不含有任何元素）
        * */
        boolean isEmpty = c.isEmpty();
        System.out.println("空集："+isEmpty);
        System.out.println("------------------");


        /*
        * clear:清空
        * void clear()
        * 清空集合中所有的元素
        * */
        c.clear();
        System.out.println(c);
        System.out.println("size："+c.size());
        System.out.println("isEmpty:"+c.isEmpty());
        System.out.println("--------------------------");

    }

}
